<?php namespace Admin\Controller;
use Hdphp\Controller\Controller;
/**
 * 商品列表控制器
 */
Class GoodsListController extends CommonController{
	private $model;
	public function __auto(){
		$this->model = new \Common\Model\GoodsList;
	}
	/**
	 * [index 显示货品规格(组合好的属性ID)]
	 * @return [type] [description]
	 */
	public function index(){
		$gid = Q('get.gid');
		if(IS_POST){
			// die;
			// p(Q('post.'));die;
			if($this->model->addList($gid)){
				// die;
				$this->success('添加成功',U('GoodsList/index',array('gid'=>$gid)));
			}
			// die;
			$this->error('添加失败');
		}
		// 获取该数据得需要采用关联表，关联Gattr和TypeAttr表,因为这儿用到的是规格，只有TypeAttr才有规格的具体判断，当class==2时是属性，当class==1时是规格
		$gid = Q('get.gid');
		// 实例化Gattr模型，然后提取需要的数据，并将其进行筛选、分配到页面中去
		$TypeAttrModel = new \Common\Model\TypeAttr;
		$TAData = $TypeAttrModel->join('goods_attr','type_taid','=','taid')
					->where(array('class'=>1))
					->where(array('gid'=>$gid))
					->orderBy('taid','asc')
					->get();
		// p($TAData);
		$newData = array();
		foreach ($TAData as $k => $v) {
			$newData[$v['taname']][$v['gtid']]=$v['gtvalue'];   //这一步是至关重要的地方
		}
		// 可以从该遍历数组中的得到一下信息：
		// 1、所需要的taname值、gtvalue值及其所对应的gtid值。gtid值在添加的时候，可以做重组属性ID用
		// p($newData);
		// Array
		// (
		//     [尺码] => Array
		//         (
		//             [56] => XL
		//             [55] => M
		//             [54] => L
		//         )

		//     [颜色] => Array
		//         (
		//             [57] => 白色
		//             [58] => 红色
		//             [59] => 绿色
		//         )

		//     [身高] => Array
		//         (
		//             [60] => 179
		//             [61] => 178
		//             [62] => 23
		//         )

		// )
		$this->assign('newData',$newData);
		// ******************上面的是处理添加商品的过程，下面是展示部分*******
		$GoodsListData = $this->model->where(array('gid'=>$gid))->get();
		// combine 
		foreach ($GoodsListData as $key => $value) {
			$GoodsListData[$key]['combine'] = explode(',',$value['combine']);
		}
		// p($GoodsListData);//取到的是一连串的数组，得将combine进行处理，将其转化为数组。
		// 是由goods_attr表中的gtid组合而成的，现在需要将其找到并找到对应的gtvalue名字(字段)
		$GattrModel = new \Common\Model\Gattr;
		$data = $GattrModel->where(array('gid'=>$gid))->get();
		// p($data);
		foreach ($GoodsListData as $k => $v) {
			foreach ($v['combine'] as $kk => $vv) {
				foreach ($data as $key => $value) {
					if($vv == $value['gtid']){
						$GoodsListData[$k]['combine'][$kk] = $value['gtvalue'];
					}
				}
			}
		}
		// p($GoodsListData);
		// 分配数据到页面中去
		$this->assign('GoodsListData',$GoodsListData);
		$this->display();
	}

	/**
	 * [edit 货品列表的编辑]
	 * @return [type] [description]
	 */
	public function edit(){
		// p(Q('get.glid'));
		$glid = Q('get.glid');
		$oldData = $this->model->where(array('glid'=>$glid))->find();
		// p($oldData);
		// Array
		// (
		//     [glid] => 48
		//     [combine] => 295,294  //获取的是
		//     [inventory] => 44
		//     [number] => 44
		//     [gid] => 12
		// )
		
		$this->display();
	}

	/**
	 * [del 货品列表的删除]
	 * @return [type] [description]
	 */
	public function del(){
		$glid = Q('get.glid');
		// die;
		// p($glid);
		if($this->model->delList()){
			$this->success('删除成功',U('GoodsList/index',array('gid'=>$_GET['gid'])));
		}
		$this->errer('删除失败');
	}
}
?>